package com.thm.tfast.modules.sys.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.thm.tfast.modules.sys.model.SysFile;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;

/**
 * <p>
 * 文件上传记录表 服务类
 * </p>
 *
 * @author THM
 * @since 2022-10-27
 */
public interface SysFileService extends IService<SysFile> {

    /**
     * 上传文件
     * @param file 文件
     * @param type 类型 用于区分bucket
     * @return 文件ID
     */
    Long upload(MultipartFile file,Integer type);

    /**
     * 下载文件
     * @param fileId 文件ID
     * @param response 响应流
     */
    void download(Long fileId, HttpServletResponse response);

    /**
     * 分页查询文件记录信息
     * @param keyword 关键字：文件名称
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @return 分页结果
     */
    Page<SysFile> page(String keyword,Integer pageNum,Integer pageSize);

    /**
     * 删除文件记录信息
     * @param fileId 文件ID
     * @return true false
     */
    boolean delete(Long fileId);
}
